export interface IValue {
  name: string;
  value: number;
}

export interface IParam {
  [name: string]: any
}

export interface IEnumPojo<T = string> {
  code: T;
  name?: string;
  text?: string;
}

export interface IResponse<T = any> {
  code?: number;
  message?: string;
  data?: T;
}

export type PageResponse = IPageResponse<any>

export interface IPageResponse<T> extends IResponse<T[]> {
  pageInfo: PageInfo
}

export interface PageInfo {
  page: number;
  size: number;
  pages?: number;
  total?: number;
}

export type TInitFlag = "initial" | "initialing" | "initialled";

export interface IConstEnum {
  id: number;
  constCode: string;
  constName: string;
  application: IEnumPojo;
  constType: IEnumPojo;
  extra?: string; // 扩展字段，根据场景使用
}
